home *** CD-ROM | disk | FTP | other *** search
/ Super CD / Super CD.iso / geomitri / rcd / columns.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1989-06-10  |  8.9 KB  |  230 lines

  1. 2       ' This programme is used to design  SINGLE SPAN BEAMS
  2. 3       ' This programme uses Advanced Basic Language  ( IBM - BASICA )
  3. 4       ' This programme is saved under the name    [ COLUMNS ]
  4. 5       ' Prepared by   AMJAD J. SHAIR           07/05/88 - 08/05/88
  5. 6  SCREEN 0,1 :WIDTH 40 :COLOR 15,1,0 :CLS :LOCATE 5
  6. 7  PRINT "       AXIALLY LOADED COLUMNS                                                            Prepared by :                                                                 AMJAD JAMIL EL-SHA'IR"
  7. 8  LOCATE 25,5 :PRINT "PRESS SPACE BAR TO CONTINUE ";
  8. 9  Y$=INKEY$ :IF Y$<>" " THEN 9
  9. 10  '-----------------------------------------------------------------Basic Data
  10. 20  SCREEN 0,1 :WIDTH 80 :COLOR 15,1,0
  11. 30  CLEAR
  12. 40  OPEN "DATA1" FOR INPUT AS #1
  13. 50  IF EOF(1) THEN CLOSE :GOTO 80
  14. 60  INPUT #1,PRJ$,BLD$,DSR$,FC,FY,FYS,QA
  15. 70  GOTO 50
  16. 80  PSX=0.04                             '  Max. Ratio of Reinf'
  17. 90  PSM=0.01                            '  Min. Ratio of Reinf'
  18. 100  '--------------------------- Beam  Span ,Loading & Calculation of Reactions
  19. 105  CLS
  20. 110  LOCATE 2,15 :PRINT " ******    AXIALLY LOADED COLUMNS      ******"
  21. 112  LOCATE 3,15 :PRINT " ******           BASED ON :           ******"
  22. 115  LOCATE 4,15 :PRINT " ******    ACI-1983 CODE EQUATION      ******"
  23. 120  PRINT
  24. 125  INPUT "     ENTER COLUMN NUMBER         C ",NMB
  25. 130  PRINT
  26. 135  INPUT "     ENTER FLOOR LEVEL NAME  ( GR. FLOOR, FIRST FLOOR .....) ",FLR$
  27. 140  PRINT
  28. 145  INPUT "     ENTER ULTIMATE COLUMN LOAD      Pu (ton)   ",P
  29. 150  IF P>0 GOTO 175
  30. 155  PRINT :LOCATE ,6 :COLOR ,4 :BEEP
  31. 160  INPUT " !!!!!  INVALID  ULTIMATE COLUMN LOAD  *  RE-ENTER   Pu  !!!!!",P
  32. 165  COLOR ,1 :PRINT
  33. 170  IF P<=0 GOTO 7800
  34. 175  PRINT
  35. 240  PRINT "     DO YOU WANT TO CHANGE THE ABOVE DATA   (Y/N) ?  ***";
  36. 245  Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 245
  37. 250  IF Y$="Y" OR Y$="y" THEN PRINT "  YES" :GOTO 10
  38. 255  IF Y$="N" OR Y$="n" THEN PRINT "  NO "
  39. 300  GOSUB 6300
  40. 320  PRINT "    COLUMN DIMENSINS      STEEL     As(req.)    REINFORCEMENT    As(prv.)"
  41. 330  PRINT "      b x t  ( cm )       RATIO       (cm2)        DETAILS         (cm2) "
  42. 340  PRINT "   ------------------    -------    --------    --------------    -------"
  43. 350  FOR RT = 0.04 TO 0.01 STEP -0.01
  44. 355  R=RT
  45. 360  GOSUB 9100
  46. 370  PRINT "       "D" x "D"        " R;TAB(38)AS TAB(51)NB;CHR$(237);DIA" mm "TAB(68)ASP
  47. 380  PRINT
  48. 390  NEXT
  49. 400  PRINT "     NOTE : COLUMNS COULD BE SQUARE OR RECTANGULER "
  50. 410  PRINT
  51. 420  INPUT "     ENTER THE COLUMN DIMENSION IN ANY  DIRECTION        b (cm) ",B
  52. 430  IF B>0 GOTO 490
  53. 440  PRINT :LOCATE ,6 :COLOR ,4 :BEEP
  54. 450  INPUT " !!!!!  INVALID  COLUMN DIMENSION    *   RE-ENTER    b  !!!!!",B
  55. 460  COLOR ,1 :PRINT
  56. 470  IF B<=0 GOTO 7800
  57. 490  INPUT "     ENTER THE COLUMN DIMENSION IN THE OTHER DIRECTION   t (cm) ",T
  58. 500  IF T>0 GOTO 550
  59. 510  PRINT :LOCATE ,6 :COLOR ,4 :BEEP
  60. 520  INPUT " !!!!!  INVALID  COLUMN DIMENTION    *   RE-ENTER    t  !!!!!",T
  61. 530  COLOR ,1 :PRINT
  62. 540  IF T<=0 GOTO 7800
  63. 550  GOSUB 6300
  64. 560  GOSUB 6400
  65. 580  PRINT "    COLUMN DIMENSINS  ( b x t )  : " B" x "T" cm"
  66. 590  PRINT
  67. 600  IF R<0.01 GOTO 650
  68. 610  PRINT "    RATIO OF REINFORCEMENT       : " R "  >  0.01 "
  69. 620  PRINT
  70. 630  PRINT "    REQUIRED AREA OF STEEL    As(requ.) = "AS" cm2"
  71. 640  GOTO 680
  72. 650  PRINT "    RATIO OF REINFORCEMENT       : " R "  <  0.01 "
  73. 660  PRINT
  74. 670  PRINT "    MINIMUM  AREA OF STEEL    As( min.) = "AS" cm2"
  75. 680  PRINT
  76. 690  PRINT "    USE     [  "NB;CHR$(237);DIA" mm  ]"
  77. 700  PRINT
  78. 710  PRINT "    PROVIDED AREA OF STEEL    As(prov.) = "ASP" cm2"
  79. 720  PRINT
  80. 800  PRINT "    DO YOU WANT TO CHANGE THE COLUMN DIMENSIONS       (Y/N) ? ";
  81. 810  Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 810
  82. 820  IF Y$="Y" OR Y$="y" THEN PRINT "  YES" :GOTO 300
  83. 830  IF Y$="N" OR Y$="n" THEN PRINT "  NO "
  84. 840  PRINT
  85. 900  PRINT "    DO YOU WANT TO MODIFY THE COLUMN REINFORCEMENT    (Y/N) ? ";
  86. 910  Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 910
  87. 920  IF Y$="Y" OR Y$="y" THEN PRINT "  YES" :GOSUB 6600 :GOSUB 6300 :GOTO 580
  88. 930  IF Y$="N" OR Y$="n" THEN PRINT "  NO "
  89. 940  PRINT
  90. 1020  PRINT "    DO YOU WANT THIS COLUMN DESIGN TO BE PRINTED      (Y/N) ? ";
  91. 1030  Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 1030
  92. 1040  IF Y$="Y" OR Y$="y" THEN PRINT "  YES" :GOTO 1060
  93. 1050  IF Y$="N" OR Y$="n" THEN PRINT "  NO " :GOTO 2000
  94. 1060  H$=STRING$(79,61)
  95. 1070  IF FY<=3000 THEN BRDA$=CHR$(239)+CHR$(8)+CHR$(47) ELSE BRDA$=CHR$(111)+CHR$(8)+CHR$(84)
  96. 1080  IF FYS<=3000 THEN BRDB$=CHR$(239)+CHR$(8)+CHR$(47) ELSE BRDB$=CHR$(111)+CHR$(8)+CHR$(84)
  97. 1082  PRINT
  98. 1085  PRINT "    DO YOU WANT TO START PRINTING ON A NEW PAGE WITH HEADING  (Y/N) ? ";
  99. 1090  Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 1090
  100. 1095  IF Y$="Y" OR Y$="y" THEN PRINT "  YES" :LPRINT CHR$(12) :GOSUB 5000
  101. 1100  IF Y$="N" OR Y$="n" THEN PRINT "  NO "
  102. 1110  LPRINT
  103. 1120  LPRINT CHR$(14) "  COLUMN  : C"NMB
  104. 1130  LPRINT
  105. 1140  LPRINT "    COLUMN LOCATION  :  "FLR$
  106. 1160  LPRINT
  107. 1165  LPRINT "    ULTIMATE COLUMN LOAD          Pu  = "P " ton "
  108. 1170  LPRINT
  109. 1180  LPRINT "    COLUMN DIMENSINS           b x t  = " B" x "T" cm"
  110. 1190  LPRINT
  111. 1200  IF R<0.01 GOTO 1250
  112. 1210  LPRINT "    RATIO OF REINFORCEMENT            = " R "  >  0.01 "
  113. 1220  LPRINT
  114. 1230  LPRINT "    REQUIRED AREA OF STEEL   As(requ) = "AS" cm2"
  115. 1240  GOTO 1280
  116. 1250  LPRINT "    RATIO OF REINFORCEMENT        p   = " R "  <  0.01 "
  117. 1260  LPRINT
  118. 1270  LPRINT "    MINIMUM  AREA OF STEEL   As(min.) = "AS" cm2"
  119. 1280  LPRINT CHR$(27) "G"
  120. 1290  LPRINT "    USE  [  "NB;BRDA$;DIA " mm  ]       As (provided) ="ASP" cm2"
  121. 1300  LPRINT CHR$(27) "H"
  122. 1310  LPRINT H$
  123. 1320  LPRINT
  124. 2000  '-------------------------------------------------------End of Beam Design
  125. 2005  PRINT
  126. 2010  PRINT "    DO YOU HAVE OTHER AXIALLY LOADED COLUMNS TO DESIGN (Y/N) ? ";
  127. 2020  Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 2020
  128. 2022  IF Y$="Y" OR Y$="y" THEN PRINT "  YES" :GOTO 10
  129. 2024  IF Y$="N" OR Y$="n" THEN PRINT "  NO " :PRINT :PRINT "           [  YOU WILL BE SEND BACK TO THE  RCDESIGN  MAIN MENU   ]  " :CHAIN "RCDESIGN",2500
  130. 2100  END  '----------------------------------------------------- END OF RUNNING
  131. 4000  '************************   SUBROUTINES   ********************************
  132. 5000  '---------------------------------------- SUBROUTINE To Print Page Heading
  133. 5010  LOCATE 25,20 :PRINT "Press  SPACE BAR  to Start Printing .... ";
  134. 5020  Y$=INKEY$ :IF Y$<>" " THEN 5010
  135. 5030  FOR VV=1 TO 250 :NEXT
  136. 5035  LPRINT CHR$(14)"Arabian Consulting Engineering Services"
  137. 5040  LPRINT "P. O. Box  146                                           Riyadh - Saudi Arabia"
  138. 5045  LPRINT H$
  139. 5050  LPRINT CHR$(14)" PROJECT: "PRJ$
  140. 5055  LPRINT
  141. 5060  LPRINT "  BUILDING    : "BLD$ TAB(58)"PAGE No.:"
  142. 5065  LPRINT "  DESIGNED BY : "DSR$ TAB(31)"/ CHECKED BY : "TAB(58)"DATE    : "DATE$
  143. 5070  LPRINT :LPRINT H$
  144. 5075  LPRINT "  RCDESIGN PROGRAM PREPARED BY : Amjad J.El-Sha'ir, P.O.Box 926447 Amman-Jordan"
  145. 5080  LPRINT "  THIS COPY TO BE USED ONLY BY : Arabian Consulting Engineering Services  K.S.A"
  146. 5085  LPRINT H$
  147. 5100  LPRINT CHR$(14) " AXIALLY LOADED COLUMN DESIGN"
  148. 5110  LPRINT H$ :LPRINT
  149. 5120  LPRINT CHR$(27)"G";
  150. 5130  LPRINT "  ** CONCRETE & STEEL PROPERTIES **  "
  151. 5140  LPRINT CHR$(27)"H";"  ---------------------------------  "
  152. 5150  LPRINT "   - Concrete Crushing Strength  f'c ="FC" kg/cm2  "
  153. 5160  LPRINT "   - Reinf' Steel Yield Stress   fy  ="FY" kg/cm2  "
  154. 5170  LPRINT H$ :LPRINT
  155. 5175  LPRINT "    ACI- Code Equation for Axially Loaded Columns with Tie Reinf."
  156. 5180  LPRINT CHR$(27)"G"
  157. 5190  LPRINT "    Pu x 1000 = 0.8 x 0.7 [ .85 f'c x (Ag - Ast) + fy x Ast ]
  158. 5200  LPRINT CHR$(27)"H"
  159. 5205  LPRINT "    Pu  = Ultimate Column Load                      (ton)"
  160. 5210  LPRINT "    Ag  = Gross Arae of Concrete Section            (cm2)"
  161. 5230  LPRINT "    Ast = Total Area of Longitudinal Reinforcement. (cm2)"
  162. 5270  LPRINT H$
  163. 5300  RETURN
  164. 6300  '------------------------------------------ SUBROUTINE To Display Heading
  165. 6310  CLS:LOCATE 2,12 : COLOR 15,5
  166. 6320  PRINT "   ****     AXIALY LOADED COLUMN    *    C"NMB"    ****" TAB(68)""
  167. 6325  PRINT
  168. 6330  LOCATE ,12 :PRINT "    FLOOR LEVEL              : "FLR$ TAB(68)""
  169. 6335  PRINT
  170. 6340  LOCATE ,12 :PRINT "    Concrete Crushing Strength  f'c = "FC" kg/cm2  " TAB(68)""
  171. 6350  LOCATE ,12 :PRINT "    Reinf' Steel Yield Stress   fy  ="FY" kg/cm2  " TAB(68)""
  172. 6360  LOCATE ,12 :PRINT "    Ultimate Column Load        Pu  ="P " ton     " TAB(68)""
  173. 6370  COLOR 15,1 :PRINT
  174. 6380  RETURN
  175. 6400  '------ SUBROUTINE To Find The Column Reinforcement for a given Dimensions
  176. 6410  AS=(P*1000/0.56-0.85*FC*B*T)/(FY-0.85*FC)
  177. 6411  R=AS/(B*T)
  178. 6412  IF R<=0.04 GOTO 6420
  179. 6413  PRINT :LOCATE ,6 :COLOR ,4 :BEEP
  180. 6415  PRINT "   ****  INVALID COLUMN DIMENSIONS   ( STEEL RATIO > 4% )  ****   "
  181. 6416  COLOR ,1 :PRINT :GOTO 800
  182. 6420  IF R<=0.01 THEN AS=0.01*B*T :GOTO 6450
  183. 6440  AS=R*B*T
  184. 6450  NB=CINT(B/10)*2+CINT(T/10)*2-4
  185. 6460  IF NB<4 THEN NB=4
  186. 6470  DIA=2+2*INT(SQR(4*100*AS*0.95/(3.14159*NB))/2)
  187. 6480  IF DIA<10 THEN DIA=10
  188. 6490  IF DIA<24 GOTO 6520
  189. 6500  DIA=25
  190. 6510  NB=2+2*INT(AS*0.95/(4.908*2))
  191. 6520  ASP=NB*3.14159*(DIA/10)^2/4
  192. 6530  ASP=(CINT(ASP*100))/100
  193. 6540  AS=CINT(AS*100)/100
  194. 6550  R=CINT(R*1000)/1000
  195. 6560  RETURN
  196. 6600  '-------------------------- SUBROUTINE  To Modify the Column Reinforcement
  197. 6610  PRINT
  198. 6620  PRINT "  ENTER <N> to choose the req. Number of Bars  or <D> to choose the Diameter ";
  199. 6630  CH$=INKEY$ :IF CH$<>"D" AND CH$<>"d" AND CH$<>"N" AND CH$<>"n" THEN 6630
  200. 6640  IF CH$="D" OR CH$="d" THEN PRINT " D" :GOTO 6720 ELSE PRINT " N"
  201. 6650  INPUT "  ENTER the required Number of Steel Bars to be used :  ",NB
  202. 6655  IF NB< 4 THEN NB=4
  203. 6660  DIA=2+2*INT(SQR(4*100*AS*0.95/(3.14159*NB))/2)
  204. 6670  IF DIA<10 THEN DIA=10
  205. 6680  IF DIA<24 GOTO 6710
  206. 6690  DIA=25
  207. 6700  NB=2+2*INT(AS*0.95/(4.908*2))
  208. 6710  GOTO 6770
  209. 6720  INPUT "  ENTER the required Diameter of Steel Bars to be used :  ",DIA
  210. 6730  IF DIA<10 THEN DIA=10
  211. 6740  NB=2+2*INT(AS*0.95*400/(2*3.14159*DIA^2))
  212. 6750  IF NB< 4 THEN NB=4
  213. 6770  ASP=NB*3.14159*(DIA/10)^2/4
  214. 6780  ASP=CINT(ASP*100)/100
  215. 6790  RETURN
  216. 7800  '------------------------------------------------- Display Invalid Entries
  217. 7810  PRINT :LOCATE ,6 :COLOR ,4 : BEEP
  218. 7820  PRINT "  ***  YOU WERE GIVEN TWO CHANCES TO ENTER , BUT YOU FAILED  ***  "TAB(72)"" :COLOR ,1
  219. 7830  PRINT :LOCATE ,6 :COLOR ,4
  220. 7840  PRINT "  ***  ENTER  Y  TO REDO THIS BEAM OR TO GO FOR OTHER BEAMS  ***  "TAB(72)"" :COLOR ,1
  221. 7850  PRINT
  222. 7860  GOTO 2000
  223. 7870  RETURN
  224. 9100  '---------------------- SUBROUTINE To Find The Column Dimensions & Reinf'                                                        for a given steel ratio
  225. 9110  A=P*1000/(0.56*(0.85*FC-0.85*FC*R+R*FY))
  226. 9120  D=INT(SQR(A))+1
  227. 9130  B=D :T=D
  228. 9140  GOSUB 6400
  229. 9200  RETURN
  230.